package com.yfbao.horizon.schedule.tk.common;

import org.springframework.cache.Cache;

import java.util.concurrent.Callable;

public class MyCustomCache implements Cache {

    private final String name;

    public MyCustomCache(String name) {
        this.name = name;
    }

    @Override
    public String getName() {
        return name;
    }

    @Override
    public Object getNativeCache() {
        // 返回底层缓存对象，如果有的话
        return null;
    }

    @Override
    public ValueWrapper get(Object key) {
        // 实现缓存的获取逻辑
        return null;
    }

    @Override
    public <T> T get(Object key, Class<T> type) {
        // 实现缓存的获取逻辑
        return null;
    }

    @Override
    public <T> T get(Object key, Callable<T> valueLoader) {
        return null;
    }

    @Override
    public void put(Object key, Object value) {
        // 实现缓存的存储逻辑
    }

    @Override
    public ValueWrapper putIfAbsent(Object key, Object value) {
        // 实现缓存的存储逻辑，并在键不存在时才存储
        return null;
    }

    @Override
    public void evict(Object key) {
        // 实现缓存的删除逻辑
    }

    @Override
    public void clear() {
        // 实现清除整个缓存的逻辑
    }
}
